<?xml version="1.0" standalone="yes"?>
<mi:PackageInstaller xmlns:mi="http://www.composite.net/ns/management/packageinstaller/1.0">
	<mi:PackageRequirements minimumCompositeVersion="2.0.3898.29851" maximumCompositeVersion="9.9999.9999.9999" />
	<mi:PackageInformation name="Composite.Community.OpenID" groupName="Composite.Community" version="1.2.8" author="Composite A/S" website="http://www.composite.net" id="ffc347e1-bbf2-4006-8683-ecac6df245c7" canBeUninstalled="true" systemLocking="hard" flushOnCompletion="false" readMoreUrl="http://docs.composite.net/Composite.Community.OpenID">
		<Description>Forces visitors to sign in with their OpenIDs (including those provided by Google, Yahoo etc) to view selected pages or content on pages. Redirects anonymous visitors to the sign-in page.</Description>
		<TechnicalDetails>Forces visitors to sign in with their OpenIDs (including those provided by Google, Yahoo etc) to view selected pages or content on pages. Redirects anonymous visitors to the sign-in page.</TechnicalDetails>
	</mi:PackageInformation>
	<mi:PackageFragmentInstallerBinaries>
		<mi:Add path="~\Bin\DotNetOpenAuth.dll" />
		<mi:Add path="~\Bin\Composite.Community.OpenID.dll" />
	</mi:PackageFragmentInstallerBinaries>
	<mi:PackageFragmentInstallers>
		<mi:Add installerType="Composite.Core.PackageSystem.PackageFragmentInstallers.ConfigurationTransformationPackageFragmentInstaller, Composite" uninstallerType="Composite.Core.PackageSystem.PackageFragmentInstallers.ConfigurationTransformationPackageFragmentUninstaller, Composite">
			<Install xsltFilePath="~\Composite.Config\Install.xsl" />
			<Uninstall xsltFilePath="~\Composite.Config\Uninstall.xsl" />
		</mi:Add>
		<mi:Add installerType="Composite.Core.PackageSystem.PackageFragmentInstallers.FileXslTransformationPackageFragmentInstaller, Composite" uninstallerType="Composite.Core.PackageSystem.PackageFragmentInstallers.FileXslTransformationPackageFragmentUninstaller, Composite">
			<XslFiles>
				<XslFile pathXml="~\Web.config" installXsl="~\Web.Config\Install.xsl" uninstallXsl="~\Web.Config\Uninstall.xsl" />
			</XslFiles>
		</mi:Add>
		<mi:Add installerType="Composite.Core.PackageSystem.PackageFragmentInstallers.FilePackageFragmentInstaller, Composite" uninstallerType="Composite.Core.PackageSystem.PackageFragmentInstallers.FilePackageFragmentUninstaller, Composite">
			<Files>
				<File sourceFilename="~\App_Data\Xslt\Composite\Community\OpenID\ContentProtection.xsl" targetFilename="~\App_Data\Xslt\Composite\Community\OpenID\ContentProtection.xsl" allowOverwrite="false" />
				<File sourceFilename="~\App_Data\Xslt\Composite\Community\OpenID\PageProtection.xsl" targetFilename="~\App_Data\Xslt\Composite\Community\OpenID\PageProtection.xsl" allowOverwrite="false" />
				<File sourceFilename="~\App_Data\Xslt\Composite\Community\OpenID\SignInForm.xsl" targetFilename="~\App_Data\Xslt\Composite\Community\OpenID\SignInForm.xsl" allowOverwrite="false" />
				<File sourceFilename="~\App_Data\Xslt\Composite\Community\OpenID\SignInStatus.xsl" targetFilename="~\App_Data\Xslt\Composite\Community\OpenID\SignInStatus.xsl" allowOverwrite="false" />
				<File sourceFilename="~\App_Data\Xslt\Composite\Community\OpenID\UserDetailsForm.xsl" targetFilename="~\App_Data\Xslt\Composite\Community\OpenID\UserDetailsForm.xsl" allowOverwrite="false" />
				<File sourceFilename="~\Bin\DotNetOpenAuth.dll" targetFilename="~\Bin\DotNetOpenAuth.dll" allowOverwrite="false" />
				<File sourceFilename="~\Bin\Composite.Community.OpenID.dll" targetFilename="~\Bin\Composite.Community.OpenID.dll" allowOverwrite="false" />
				<File sourceFilename="~\xrds.aspx" targetFilename="~\xrds.aspx" allowOverwrite="false" />
			</Files>
			<Directories>
				<Directory sourceDirectory="~\Frontend\Composite\Community\OpenID\" targetDirectory="~\Frontend\Composite\Community\OpenID\" allowOverwrite="true" deleteTargetDirectory="false" />
				<Directory sourceDirectory="~\App_GlobalResources\Composite\Community\OpenID\" targetDirectory="~\App_GlobalResources\Composite\Community\OpenID\" allowOverwrite="true" deleteTargetDirectory="false" />
			</Directories>
		</mi:Add>
		<mi:Add installerType="Composite.Core.PackageSystem.PackageFragmentInstallers.DynamicDataTypePackageFragmentInstaller, Composite" uninstallerType="Composite.Core.PackageSystem.PackageFragmentInstallers.DynamicDataTypePackageFragmentUninstaller, Composite">
			<Types>
				<Type providerName="GeneratedDataTypesElementProvider" dataTypeDescriptor="&lt;DataTypeDescriptor dataTypeId=&quot;c81d6444-b4f7-49ad-82d6-4c82a15bccfd&quot; name=&quot;Users&quot; namespace=&quot;Composite.Community.OpenID&quot; title=&quot;OpenIDUsers&quot; hasCustomPhysicalSortOrder=&quot;false&quot; isCodeGenerated=&quot;true&quot; cachable=&quot;false&quot; labelFieldName=&quot;DisplayName&quot; typeManagerTypeName=&quot;DynamicType:Composite.Community.OpenID.Users&quot; version=&quot;2&quot;&gt;&#xD;&#xA;  &lt;DataAssociations /&gt;&#xD;&#xA;  &lt;DataScopes&gt;&#xD;&#xA;    &lt;DataScopeIdentifier name=&quot;public&quot; /&gt;&#xD;&#xA;  &lt;/DataScopes&gt;&#xD;&#xA;  &lt;KeyPropertyNames&gt;&#xD;&#xA;    &lt;KeyPropertyName name=&quot;Id&quot; /&gt;&#xD;&#xA;  &lt;/KeyPropertyNames&gt;&#xD;&#xA;  &lt;SuperInterfaces /&gt;&#xD;&#xA;  &lt;Fields&gt;&#xD;&#xA;    &lt;DataFieldDescriptor id=&quot;711bcaf1-eebf-4df0-9dd3-a4edfc031b68&quot; name=&quot;Id&quot; isNullable=&quot;false&quot; position=&quot;-1&quot; groupByPriority=&quot;0&quot; inherited=&quot;false&quot; instanceType=&quot;System.Guid, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&quot; storeType=&quot;PhysicalStoreType='Guid'&quot;&gt;&#xD;&#xA;      &lt;FormRenderingProfile /&gt;&#xD;&#xA;      &lt;ValidationFunctionMarkups /&gt;&#xD;&#xA;    &lt;/DataFieldDescriptor&gt;&#xD;&#xA;    &lt;DataFieldDescriptor id=&quot;7d303344-d813-4b16-b2d5-55ef29325687&quot; name=&quot;DisplayName&quot; isNullable=&quot;false&quot; position=&quot;0&quot; groupByPriority=&quot;0&quot; inherited=&quot;false&quot; instanceType=&quot;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&quot; storeType=&quot;PhysicalStoreType='String'Length='32'&quot; defaultValue=&quot;ValueType='String'Value=''&quot;&gt;&#xD;&#xA;      &lt;FormRenderingProfile label=&quot;Display Name&quot; helpText=&quot;Display Name&quot; widgetFunctionMarkup=&quot;&amp;lt;f:widgetfunction xmlns:f=&amp;quot;http://www.composite.net/ns/function/1.0&amp;quot; name=&amp;quot;Composite.Widgets.String.TextBox&amp;quot; label=&amp;quot;&amp;quot; bindingsourcename=&amp;quot;&amp;quot;&amp;gt;&amp;lt;f:helpdefinition xmlns:f=&amp;quot;http://www.composite.net/ns/function/1.0&amp;quot; helptext=&amp;quot;&amp;quot; /&amp;gt;&amp;lt;/f:widgetfunction&amp;gt;&quot; /&gt;&#xD;&#xA;      &lt;ValidationFunctionMarkups /&gt;&#xD;&#xA;    &lt;/DataFieldDescriptor&gt;&#xD;&#xA;    &lt;DataFieldDescriptor id=&quot;4ae762d7-8a3a-4aa1-a2de-0be48fd5c041&quot; name=&quot;Email&quot; isNullable=&quot;true&quot; position=&quot;1&quot; groupByPriority=&quot;0&quot; inherited=&quot;false&quot; instanceType=&quot;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&quot; storeType=&quot;PhysicalStoreType='String'Length='128'&quot;&gt;&#xD;&#xA;      &lt;FormRenderingProfile label=&quot;Email&quot; helpText=&quot;Email&quot; widgetFunctionMarkup=&quot;&amp;lt;f:widgetfunction xmlns:f=&amp;quot;http://www.composite.net/ns/function/1.0&amp;quot; name=&amp;quot;Composite.Widgets.String.TextBox&amp;quot; label=&amp;quot;&amp;quot; bindingsourcename=&amp;quot;&amp;quot;&amp;gt;&amp;lt;f:helpdefinition xmlns:f=&amp;quot;http://www.composite.net/ns/function/1.0&amp;quot; helptext=&amp;quot;&amp;quot; /&amp;gt;&amp;lt;/f:widgetfunction&amp;gt;&quot; /&gt;&#xD;&#xA;      &lt;ValidationFunctionMarkups /&gt;&#xD;&#xA;    &lt;/DataFieldDescriptor&gt;&#xD;&#xA;    &lt;DataFieldDescriptor id=&quot;3ea628bb-7ba4-4361-ac6b-cddd491adcbb&quot; name=&quot;RealName&quot; isNullable=&quot;true&quot; position=&quot;2&quot; groupByPriority=&quot;0&quot; inherited=&quot;false&quot; instanceType=&quot;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&quot; storeType=&quot;PhysicalStoreType='String'Length='128'&quot;&gt;&#xD;&#xA;      &lt;FormRenderingProfile label=&quot;Real Name&quot; helpText=&quot;Real Name&quot; widgetFunctionMarkup=&quot;&amp;lt;f:widgetfunction xmlns:f=&amp;quot;http://www.composite.net/ns/function/1.0&amp;quot; name=&amp;quot;Composite.Widgets.String.TextBox&amp;quot; label=&amp;quot;&amp;quot; bindingsourcename=&amp;quot;&amp;quot;&amp;gt;&amp;lt;f:helpdefinition xmlns:f=&amp;quot;http://www.composite.net/ns/function/1.0&amp;quot; helptext=&amp;quot;&amp;quot; /&amp;gt;&amp;lt;/f:widgetfunction&amp;gt;&quot; /&gt;&#xD;&#xA;      &lt;ValidationFunctionMarkups /&gt;&#xD;&#xA;    &lt;/DataFieldDescriptor&gt;&#xD;&#xA;    &lt;DataFieldDescriptor id=&quot;56660397-489e-491c-9092-d09a59627ca0&quot; name=&quot;Website&quot; isNullable=&quot;true&quot; position=&quot;3&quot; groupByPriority=&quot;0&quot; inherited=&quot;false&quot; instanceType=&quot;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&quot; storeType=&quot;PhysicalStoreType='String'Length='128'&quot;&gt;&#xD;&#xA;      &lt;FormRenderingProfile label=&quot;Website&quot; helpText=&quot;Website&quot; widgetFunctionMarkup=&quot;&amp;lt;f:widgetfunction xmlns:f=&amp;quot;http://www.composite.net/ns/function/1.0&amp;quot; name=&amp;quot;Composite.Widgets.String.TextBox&amp;quot; label=&amp;quot;&amp;quot; bindingsourcename=&amp;quot;&amp;quot;&amp;gt;&amp;lt;f:helpdefinition xmlns:f=&amp;quot;http://www.composite.net/ns/function/1.0&amp;quot; helptext=&amp;quot;&amp;quot; /&amp;gt;&amp;lt;/f:widgetfunction&amp;gt;&quot; /&gt;&#xD;&#xA;      &lt;ValidationFunctionMarkups /&gt;&#xD;&#xA;    &lt;/DataFieldDescriptor&gt;&#xD;&#xA;    &lt;DataFieldDescriptor id=&quot;9b678309-fccb-4930-a19a-1903f0592bab&quot; name=&quot;Location&quot; isNullable=&quot;true&quot; position=&quot;4&quot; groupByPriority=&quot;0&quot; inherited=&quot;false&quot; instanceType=&quot;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&quot; storeType=&quot;PhysicalStoreType='String'Length='128'&quot;&gt;&#xD;&#xA;      &lt;FormRenderingProfile label=&quot;Location&quot; helpText=&quot;Location&quot; widgetFunctionMarkup=&quot;&amp;lt;f:widgetfunction xmlns:f=&amp;quot;http://www.composite.net/ns/function/1.0&amp;quot; name=&amp;quot;Composite.Widgets.String.TextBox&amp;quot; label=&amp;quot;&amp;quot; bindingsourcename=&amp;quot;&amp;quot;&amp;gt;&amp;lt;f:helpdefinition xmlns:f=&amp;quot;http://www.composite.net/ns/function/1.0&amp;quot; helptext=&amp;quot;&amp;quot; /&amp;gt;&amp;lt;/f:widgetfunction&amp;gt;&quot; /&gt;&#xD;&#xA;      &lt;ValidationFunctionMarkups /&gt;&#xD;&#xA;    &lt;/DataFieldDescriptor&gt;&#xD;&#xA;    &lt;DataFieldDescriptor id=&quot;4428e936-8caf-4c4c-80c2-b5ae890db25d&quot; name=&quot;AboutMe&quot; isNullable=&quot;true&quot; position=&quot;5&quot; groupByPriority=&quot;0&quot; inherited=&quot;false&quot; instanceType=&quot;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&quot; storeType=&quot;PhysicalStoreType='String'Length='256'&quot;&gt;&#xD;&#xA;      &lt;FormRenderingProfile label=&quot;About Me&quot; helpText=&quot;About Me&quot; widgetFunctionMarkup=&quot;&amp;lt;f:widgetfunction xmlns:f=&amp;quot;http://www.composite.net/ns/function/1.0&amp;quot; name=&amp;quot;Composite.Widgets.String.TextBox&amp;quot; label=&amp;quot;&amp;quot; bindingsourcename=&amp;quot;&amp;quot;&amp;gt;&amp;lt;f:helpdefinition xmlns:f=&amp;quot;http://www.composite.net/ns/function/1.0&amp;quot; helptext=&amp;quot;&amp;quot; /&amp;gt;&amp;lt;/f:widgetfunction&amp;gt;&quot; /&gt;&#xD;&#xA;      &lt;ValidationFunctionMarkups /&gt;&#xD;&#xA;    &lt;/DataFieldDescriptor&gt;&#xD;&#xA;  &lt;/Fields&gt;&#xD;&#xA;&lt;/DataTypeDescriptor&gt;" />
				<Type providerName="GeneratedDataTypesElementProvider" dataTypeDescriptor="&lt;DataTypeDescriptor dataTypeId=&quot;e76c87e1-137a-46fb-8ddd-9b8b522ec3b0&quot; name=&quot;OpenIDs&quot; namespace=&quot;Composite.Community.OpenID&quot; title=&quot;OpenIDOpenIDs&quot; hasCustomPhysicalSortOrder=&quot;false&quot; isCodeGenerated=&quot;true&quot; cachable=&quot;false&quot; labelFieldName=&quot;Url&quot; typeManagerTypeName=&quot;DynamicType:Composite.Community.OpenID.OpenIDs&quot; version=&quot;1&quot;&gt;&#xD;&#xA;  &lt;DataAssociations /&gt;&#xD;&#xA;  &lt;DataScopes&gt;&#xD;&#xA;    &lt;DataScopeIdentifier name=&quot;public&quot; /&gt;&#xD;&#xA;  &lt;/DataScopes&gt;&#xD;&#xA;  &lt;KeyPropertyNames&gt;&#xD;&#xA;    &lt;KeyPropertyName name=&quot;Id&quot; /&gt;&#xD;&#xA;  &lt;/KeyPropertyNames&gt;&#xD;&#xA;  &lt;SuperInterfaces /&gt;&#xD;&#xA;  &lt;Fields&gt;&#xD;&#xA;    &lt;DataFieldDescriptor id=&quot;cab102ea-7ce1-429f-9a41-934710fa3c49&quot; name=&quot;Id&quot; isNullable=&quot;false&quot; position=&quot;-1&quot; groupByPriority=&quot;0&quot; inherited=&quot;false&quot; instanceType=&quot;System.Guid, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&quot; storeType=&quot;PhysicalStoreType='Guid'&quot;&gt;&#xD;&#xA;      &lt;FormRenderingProfile /&gt;&#xD;&#xA;      &lt;ValidationFunctionMarkups /&gt;&#xD;&#xA;    &lt;/DataFieldDescriptor&gt;&#xD;&#xA;    &lt;DataFieldDescriptor id=&quot;3dadd790-27b0-46df-9f3c-0eb0bb689061&quot; name=&quot;UserId&quot; isNullable=&quot;false&quot; position=&quot;0&quot; groupByPriority=&quot;1&quot; inherited=&quot;false&quot; instanceType=&quot;System.Guid, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&quot; storeType=&quot;PhysicalStoreType='Guid'&quot; defaultValue=&quot;ValueType='Guid'Value='00000000-0000-0000-0000-000000000000'&quot; foreignKeyReferenceTypeName=&quot;DynamicType:Composite.Community.OpenID.Users&quot;&gt;&#xD;&#xA;      &lt;FormRenderingProfile label=&quot;User Id&quot; helpText=&quot;User Id&quot; widgetFunctionMarkup=&quot;&amp;lt;f:widgetfunction xmlns:f=&amp;quot;http://www.composite.net/ns/function/1.0&amp;quot; name=&amp;quot;Composite.Widgets.DataReference.CompositeCommunityOpenIDUsers.Selector&amp;quot; label=&amp;quot;&amp;quot; bindingsourcename=&amp;quot;&amp;quot;&amp;gt;&amp;lt;f:helpdefinition xmlns:f=&amp;quot;http://www.composite.net/ns/function/1.0&amp;quot; helptext=&amp;quot;&amp;quot; /&amp;gt;&amp;lt;/f:widgetfunction&amp;gt;&quot; /&gt;&#xD;&#xA;      &lt;ValidationFunctionMarkups /&gt;&#xD;&#xA;    &lt;/DataFieldDescriptor&gt;&#xD;&#xA;    &lt;DataFieldDescriptor id=&quot;a81080f5-6468-453f-af9b-332779610853&quot; name=&quot;Url&quot; isNullable=&quot;false&quot; position=&quot;1&quot; groupByPriority=&quot;0&quot; inherited=&quot;false&quot; instanceType=&quot;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&quot; storeType=&quot;PhysicalStoreType='String'Length='256'&quot; defaultValue=&quot;ValueType='String'Value=''&quot;&gt;&#xD;&#xA;      &lt;FormRenderingProfile label=&quot;Url&quot; helpText=&quot;OpenID Url&quot; widgetFunctionMarkup=&quot;&amp;lt;f:widgetfunction xmlns:f=&amp;quot;http://www.composite.net/ns/function/1.0&amp;quot; name=&amp;quot;Composite.Widgets.String.TextBox&amp;quot; label=&amp;quot;&amp;quot; bindingsourcename=&amp;quot;&amp;quot;&amp;gt;&amp;lt;f:helpdefinition xmlns:f=&amp;quot;http://www.composite.net/ns/function/1.0&amp;quot; helptext=&amp;quot;&amp;quot; /&amp;gt;&amp;lt;/f:widgetfunction&amp;gt;&quot; /&gt;&#xD;&#xA;      &lt;ValidationFunctionMarkups /&gt;&#xD;&#xA;    &lt;/DataFieldDescriptor&gt;&#xD;&#xA;  &lt;/Fields&gt;&#xD;&#xA;&lt;/DataTypeDescriptor&gt;" />
			</Types>
		</mi:Add>
		<mi:Add installerType="Composite.Core.PackageSystem.PackageFragmentInstallers.DataPackageFragmentInstaller, Composite" uninstallerType="Composite.Core.PackageSystem.PackageFragmentInstallers.DataPackageFragmentUninstaller, Composite">
			<Types>
				<Type type="Composite.Data.Types.INamedFunctionCall,Composite">
					<Data dataScopeIdentifier="public" dataFilename="~\Datas\Composite.Data.Types.INamedFunctionCalls_public.xml" />
				</Type>
				<Type type="Composite.Data.Types.IParameter,Composite">
					<Data dataScopeIdentifier="public" dataFilename="~\Datas\Composite.Data.Types.IParameters_public.xml" />
				</Type>
				<Type type="Composite.Data.Types.IXsltFunction,Composite">
					<Data dataScopeIdentifier="public" dataFilename="~\Datas\Composite.Data.Types.IXsltFunctions_public.xml" />
				</Type>
			</Types>
		</mi:Add>
	</mi:PackageFragmentInstallers>
</mi:PackageInstaller>